﻿using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.Text;
using TTLL.Text;
using TTLL.Text.Range;
using TTLL.Text.Ruler;

namespace TTLang.Test.WordBreak
{
    [TestClass]
    public class Test_WordBreak2_Range
    {
        [TestMethod]
        ///这个测试的目的让我们的Range可以识别长符号，如图中的 "&&,&"
        public void LongElem()
        {
            var rangeNum = new Range_List("1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "rex", "&&", "&", " ", ".");

            var teststring = "&&1231&&23&12 rex123.44 5566";
            for (var i = 0; i < teststring.Length; i++)
            {
                var num = rangeNum.FindInRange(teststring, i);
                if (num.Length > 1)
                    i += (num.Length - 1);

                Console.WriteLine("match num" + num);
            }
        }

        [TestMethod]
        ///这个测试的目的是检验我们的字符识别工具可以，混合不同的范围
        public void MixElem()
        {
            var rangeNum = new Range_List("1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "rex", "&&", "&");
            var rangePoint = new Range_List(".");
            var rangeEmpty = new Range_List(" ", "\t");
            var rangeMix = new Range_Mix(new IElementRange[] { rangeNum, rangePoint, rangeEmpty });

            var teststring = "&&1231&&23&12 rex123.44 5566";
            for (var i = 0; i < teststring.Length; i++)
            {
                var num = rangeMix.FindInRange(teststring, i);
                if (num.Length > 1)
                    i += (num.Length - 1);

                Console.WriteLine("match num" + num);
            }
        }

      
    }
}
